<!DOCTYPE html>
<html lang='en'>

<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='./vue.js'></script>
    <style>
        .nav {
            width: 100%;
            height: 44px;
            line-height: 44px;
            text-align: center;
            border: 1px solid #f66;
        }

        .nav h3 {
            margin: 0;
        }

        .left {
            float: left;
            color: blue;
        }

        .right {
            float: right;
            color: red;
        }
    </style>
</head>

<body>
    <div id='app'>
        <nav-com title="首页">

            <template v-slot:left-slot>
                <span class="left">杭州</span>
            </template>

            <!-- # 井号是 v-slot 的缩写 -->
            <template #rightslot>
                <span class="right">登录</span>
            </template>

        </nav-com>


    </div>
</body>

<template id="nav">
    <div class="nav">
        <!-- slot 就是插槽，可以插入一个标签，插槽一句话介绍就是做内容分发用的 -->
        <!-- 一个 slot 只能被插入一段内容 -->
        <slot name="left-slot"></slot>
        <h3> {{ title }} </h3>
        <!-- 
            一个 slot 中可以插入多个标签，如果在一个组件中，需要插入多个内容，而且这些
            内容的位置是不同的，那么就可以使用具名插槽
        -->
        <slot name="rightslot"></slot>
    </div>
</template>

<script>
    const app = {
        data() {
            return {}
        },
        methods: {},
        components: {
            'nav-com': {
                template: '#nav',
                props: ['title']
            }
        }
    }
    const vm = Vue.createApp(app).mount('#app')
</script>

</html>